1. Field of the Invention
This invention is related to the field of computer systems and, more particularly, to file-level restores from raw storage partition backups.
2. Description of the Related Art
For file system with a large number of files, it may be more efficient to perform backups at the raw partition level than to perform backups at the file system level, as iterating each file in a large file system to perform file system-level backups tends to be expensive and time-consuming. However, it may be necessary or desirable to perform file-level restores from a raw partition backup rather than restoring the entire partition. A client may wish to restore one or a few files; requiring that an entire partition be restored when just a selection of files need to be restored is understandably inefficient, and may result in the undesirable overwriting of other data. Some conventional raw partition-level backup mechanisms have approached this problem by mapping the file system first, backing up this mapping information, and then backing up the raw partition to a media server. The raw partition data, together with the file system mapping information, may then form the basis for file system level restores from the media server.
The key to these conventional backup systems is file mapping, which is primarily a file system- and operating system-specific operation. The tasks of sufficiently understanding a file system/operating system to program the backup mechanism to support the file system, may be difficult and complex, requiring extensive knowledge of the file system and operating system. Programming the backup mechanism to support different file systems or different versions of file systems, and porting the backup mechanism to different platforms, may be even more difficult and complex. For example, it may take considerable effort to adapt one of these conventional backup mechanisms to support new generations or versions of file systems, such as Solaris ZFS® and new Microsoft® file systems. Note that this is true for new generations or versions of file systems that the backup mechanism already supports. Adding support for completely new file systems or for currently unsupported file systems may be even more complex and difficult. Thus, these backup mechanisms tend to be file system/platform specific, and may require considerable modifications and updates just to keep pace with changes in the file system that they support.
In addition, file system mapping may be a bottleneck in the backup process, as it may take much more time to perform the file system mapping than it does to backup the raw partition itself. In fact, this technique may in some cases not be that much more efficient than performing a file system-level backup. Another issue with file system mapping as a solution to allow file-level restores from raw partition backups is the correctness of mapping various file systems. File-level restore cannot be successfully performed if the file system mapping is not performed correctly. Note that this issue is related to the complexity and difficulty of sufficiently understanding and programming the backup mechanism to support file systems.